home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume16 / gnuplot2.02 / patch6 < prev    next >
Encoding:
Internet Message Format  |  1991-01-05  |  52.9 KB

  1. From: rjl@monu1.cc.monash.edu.au (Russell Lang)
  2. Newsgroups: comp.sources.misc
  3. Subject: v16i016:  Gnuplot 2.0 patch 2, 6 of 7
  4. Message-ID: <1991Jan5.040835.2648@sparky.IMD.Sterling.COM>
  5. Date: 5 Jan 91 04:08:35 GMT
  6. Approved: kent@sparky.imd.sterling.com
  7. X-Checksum-Snefru: 896bd2dc c5c0a540 f25e13d5 3b72df36
  8.  
  9. Submitted-by: Russell Lang <rjl@monu1.cc.monash.edu.au>
  10. Posting-number: Volume 16, Issue 16
  11. Archive-name: gnuplot2.02/patch6
  12. Patch-To: gnuplot2.0: Volume 11, Issue 65-79
  13.  
  14. #! /bin/sh
  15. # This is a shell archive.  Remove anything before this line, then unpack
  16. # it by saving it into a file and typing "sh file".  To overwrite existing
  17. # files, type "sh file -c".  You can also feed this as standard input via
  18. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  19. # will see the following message at the end:
  20. #        "End of shell archive."
  21. # Contents:  patch2e
  22. # Wrapped by eln272v@monu1 on Wed Dec 19 11:58:05 1990
  23. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  24. if test -f patch2e -a "${1}" != "-c" ; then 
  25.   echo shar: Will not over-write existing file \"patch2e\"
  26. else
  27. echo shar: Extracting \"patch2e\" \(50691 characters\)
  28. sed "s/^X//" >patch2e <<'END_OF_patch2e'
  29. Xdiff -cr ./term.c ../gnuplot2.02/term.c
  30. X*** ./term.c    Tue Sep 18 14:59:25 1990
  31. X--- ../gnuplot2.02/term.c    Mon Dec 10 10:08:24 1990
  32. X***************
  33. X*** 29,34
  34. X  
  35. X  #include <stdio.h>
  36. X  #include "plot.h"
  37. X  #include "term.h"
  38. X  
  39. X  /* for use by all drivers */
  40. X
  41. X--- 29,35 -----
  42. X  
  43. X  #include <stdio.h>
  44. X  #include "plot.h"
  45. X+ #include "setshow.h"
  46. X  #include "term.h"
  47. X  #include "bitmap.h"
  48. X  
  49. X***************
  50. X*** 30,35
  51. X  #include <stdio.h>
  52. X  #include "plot.h"
  53. X  #include "term.h"
  54. X  
  55. X  /* for use by all drivers */
  56. X  #define sign(x) ((x) >= 0 ? 1 : -1)
  57. X
  58. X--- 31,37 -----
  59. X  #include "plot.h"
  60. X  #include "setshow.h"
  61. X  #include "term.h"
  62. X+ #include "bitmap.h"
  63. X  
  64. X  /* for use by all drivers */
  65. X  #define sign(x) ((x) >= 0 ? 1 : -1)
  66. X***************
  67. X*** 61,78
  68. X  #ifdef __TURBOC__
  69. X  char *turboc_init();
  70. X  #endif
  71. X! 
  72. X! #ifdef vms
  73. X! /* these are needed to sense a regis terminal and
  74. X!  * to do a SET TERM/NOWRAP */
  75. X! #include <descrip.h>
  76. X! #include <dvidef.h>
  77. X! #include <iodef.h>
  78. X! #include <ttdef.h>
  79. X! #include <tt2def.h>
  80. X! static unsigned short   chan;
  81. X! static int  old_char_buf[3], new_char_buf[3];
  82. X! $DESCRIPTOR(sysoutput_desc,"SYS$OUTPUT");
  83. X  char *vms_init();
  84. X  #endif
  85. X  
  86. X
  87. X--- 63,72 -----
  88. X  #ifdef __TURBOC__
  89. X  char *turboc_init();
  90. X  #endif
  91. X! #ifdef PC
  92. X! void reopen_binary();
  93. X! #endif
  94. X! #ifdef VMS
  95. X  char *vms_init();
  96. X  void vms_reset();
  97. X  void term_mode_tek();
  98. X***************
  99. X*** 74,79
  100. X  static int  old_char_buf[3], new_char_buf[3];
  101. X  $DESCRIPTOR(sysoutput_desc,"SYS$OUTPUT");
  102. X  char *vms_init();
  103. X  #endif
  104. X  
  105. X  
  106. X
  107. X--- 68,80 -----
  108. X  #endif
  109. X  #ifdef VMS
  110. X  char *vms_init();
  111. X+ void vms_reset();
  112. X+ void term_mode_tek();
  113. X+ void term_mode_native();
  114. X+ void term_pasthru();
  115. X+ void term_nopasthru();
  116. X+ void reopen_binary();
  117. X+ void fflush_binary();
  118. X  #endif
  119. X  
  120. X  /* This is needed because the unixplot library only writes to stdout. */
  121. X***************
  122. X*** 76,82
  123. X  char *vms_init();
  124. X  #endif
  125. X  
  126. X- 
  127. X  /* This is needed because the unixplot library only writes to stdout. */
  128. X  #ifdef UNIXPLOT
  129. X  FILE save_stdout;
  130. X
  131. X--- 77,82 -----
  132. X  void fflush_binary();
  133. X  #endif
  134. X  
  135. X  /* This is needed because the unixplot library only writes to stdout. */
  136. X  #ifdef UNIXPLOT
  137. X  FILE save_stdout;
  138. X***************
  139. X*** 225,235
  140. X  
  141. X  }
  142. X  
  143. X- #ifdef PC
  144. X- #ifndef __TURBOC__
  145. X- #define FONT57
  146. X- #endif
  147. X- #endif
  148. X  
  149. X  #ifdef NEC
  150. X  #ifndef EPSON
  151. X
  152. X--- 225,230 -----
  153. X  
  154. X  }
  155. X  
  156. X  
  157. X  #ifdef PC            /* all PC types */
  158. X  #include "term/pc.trm"
  159. X***************
  160. X*** 231,279
  161. X  #endif
  162. X  #endif
  163. X  
  164. X- #ifdef NEC
  165. X- #ifndef EPSON
  166. X- #define EPSON
  167. X- #endif
  168. X- #endif
  169. X- 
  170. X- #ifdef PROPRINTER 
  171. X- #ifndef EPSON
  172. X- #define EPSON 
  173. X- #endif
  174. X- #endif
  175. X- 
  176. X- #ifdef STARC 
  177. X- #ifndef EPSON
  178. X- #define EPSON 
  179. X- #endif
  180. X- #endif
  181. X- 
  182. X- #ifdef TANDY60
  183. X- #ifndef EPS60
  184. X- #define EPS60
  185. X- #endif
  186. X- #endif
  187. X- 
  188. X- #ifdef EPS60
  189. X- #ifndef EPSON
  190. X- #define EPSON
  191. X- #endif
  192. X- #endif
  193. X- 
  194. X- #ifdef EPSON
  195. X- #define FONT57
  196. X- #endif
  197. X- 
  198. X- #ifdef UNIXPC
  199. X- #define FONT57
  200. X- #endif
  201. X- 
  202. X- #ifdef FONT57
  203. X- #include "term/font5x7.trm"
  204. X- #endif  /* FONT57  */
  205. X- 
  206. X- 
  207. X  #ifdef PC            /* all PC types */
  208. X  #include "term/pc.trm"
  209. X  #endif
  210. X
  211. X--- 226,231 -----
  212. X  }
  213. X  
  214. X  
  215. X  #ifdef PC            /* all PC types */
  216. X  #include "term/pc.trm"
  217. X  #endif
  218. X***************
  219. X*** 279,285
  220. X  #endif
  221. X  
  222. X  /*
  223. X!    all TEK types (TEK,BITGRAPH,KERMIT,SELANAR) are ifdef'd in tek.trm,
  224. X     but most require various TEK routines.  Hence TEK must be defined for
  225. X     the others to compile.
  226. X  */
  227. X
  228. X--- 231,237 -----
  229. X  #endif
  230. X  
  231. X  /*
  232. X!    all TEK types (TEK,BITGRAPH,KERMIT,VTTEK,SELANAR) are ifdef'd in tek.trm,
  233. X     but most require various TEK routines.  Hence TEK must be defined for
  234. X     the others to compile.
  235. X  */
  236. X***************
  237. X*** 301,306
  238. X  # endif
  239. X  #endif
  240. X  
  241. X  #ifdef T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  242. X  #include "term/t410x.trm"
  243. X  #endif
  244. X
  245. X--- 253,264 -----
  246. X  # endif
  247. X  #endif
  248. X  
  249. X+ #ifdef VTTEK
  250. X+ # ifndef TEK
  251. X+ #  define TEK
  252. X+ # endif
  253. X+ #endif
  254. X+ 
  255. X  #ifdef T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  256. X  #include "term/t410x.trm"
  257. X  #endif
  258. X***************
  259. X*** 305,311
  260. X  #include "term/t410x.trm"
  261. X  #endif
  262. X  
  263. X! #ifdef TEK            /* all TEK types, TEK, BBN, SELANAR, KERMIT */
  264. X  #include "term/tek.trm"
  265. X  #endif
  266. X  
  267. X
  268. X--- 263,269 -----
  269. X  #include "term/t410x.trm"
  270. X  #endif
  271. X  
  272. X! #ifdef TEK            /* all TEK types, TEK, BBN, SELANAR, KERMIT, VTTEK */
  273. X  #include "term/tek.trm"
  274. X  #endif
  275. X  
  276. X***************
  277. X*** 313,320
  278. X  #include "term/epson.trm"
  279. X  #endif
  280. X  
  281. X! #ifdef EPS60        /* old-style EPSON 60-dpi */
  282. X! #include "term/eps60.trm"
  283. X  #endif
  284. X  
  285. X  #ifdef FIG                /* Fig 1.4FS Interactive graphics program */
  286. X
  287. X--- 271,278 -----
  288. X  #include "term/epson.trm"
  289. X  #endif
  290. X  
  291. X! #ifdef HPLJII        /* HP LaserJet II */
  292. X! #include "term/hpljii.trm"
  293. X  #endif
  294. X  
  295. X  #ifdef FIG                /* Fig 1.4FS Interactive graphics program */
  296. X***************
  297. X*** 346,351
  298. X  #include "term/post.trm"
  299. X  #endif
  300. X  
  301. X  #ifdef HPLJET        /* hplaserjet */
  302. X  #include "term/hpljet.trm"
  303. X  #endif
  304. X
  305. X--- 304,313 -----
  306. X  #include "term/post.trm"
  307. X  #endif
  308. X  
  309. X+ #ifdef PRESCRIBE    /* PRESCRIBE type */
  310. X+ #include "term/kyo.trm"
  311. X+ #endif
  312. X+ 
  313. X  #ifdef HPLJET        /* hplaserjet */
  314. X  #include "term/hpljet.trm"
  315. X  #endif
  316. X***************
  317. X*** 358,363
  318. X  #include "term/aed.trm"
  319. X  #endif /* AED */
  320. X  
  321. X  #ifdef HP2648
  322. X  /* also works for HP2647 */
  323. X  #include "term/hp2648.trm"
  324. X
  325. X--- 320,329 -----
  326. X  #include "term/aed.trm"
  327. X  #endif /* AED */
  328. X  
  329. X+ #ifdef CGI
  330. X+ #include "term/cgi.trm"
  331. X+ #endif /* CGI */
  332. X+ 
  333. X  #ifdef HP2648
  334. X  /* also works for HP2647 */
  335. X  #include "term/hp2648.trm"
  336. X***************
  337. X*** 594,599
  338. X         null_justify_text, line_and_point, do_arrow}
  339. X  #endif
  340. X  
  341. X  #ifdef DXY800A
  342. X      ,{"dxy800a", "Roland DXY800A plotter",
  343. X         DXY_XMAX, DXY_YMAX, DXY_VCHAR, DXY_HCHAR,
  344. X
  345. X--- 560,581 -----
  346. X         null_justify_text, line_and_point, do_arrow}
  347. X  #endif
  348. X  
  349. X+ #ifdef CGI
  350. X+     ,{"cgi", "SCO CGI drivers (requires CGIDISP or CGIPRNT env variable)",
  351. X+        CGI_XMAX, CGI_YMAX, 0, 0, 
  352. X+        CGI_VTIC, 0, CGI_init, CGI_reset, 
  353. X+        CGI_text, null_scale, CGI_graphics, CGI_move, CGI_vector, 
  354. X+        CGI_linetype, CGI_put_text, CGI_text_angle, 
  355. X+        CGI_justify_text, CGI_point, do_arrow}
  356. X+ 
  357. X+     ,{"hcgi", "SCO CGI drivers (hardcopy, requires CGIPRNT env variable)",
  358. X+        CGI_XMAX, CGI_YMAX, 0, 0, 
  359. X+        CGI_VTIC, 0, HCGI_init, CGI_reset, 
  360. X+        CGI_text, null_scale, CGI_graphics, CGI_move, CGI_vector, 
  361. X+        CGI_linetype, CGI_put_text, CGI_text_angle, 
  362. X+        CGI_justify_text, CGI_point, do_arrow}
  363. X+ #endif
  364. X+ 
  365. X  #ifdef DXY800A
  366. X      ,{"dxy800a", "Roland DXY800A plotter",
  367. X         DXY_XMAX, DXY_YMAX, DXY_VCHAR, DXY_HCHAR,
  368. X***************
  369. X*** 625,632
  370. X  #ifdef EPS60
  371. X      ,{"epson_60dpi", "Epson-style 60-dot per inch printers",
  372. X         EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
  373. X!        EPSONVTIC, EPSONHTIC, EPS60init, EPSONreset,
  374. X!        EPS60text, null_scale, EPSONgraphics, EPSONmove, EPSONvector,
  375. X         EPSONlinetype, EPSONput_text, EPSON_text_angle,
  376. X         null_justify_text, do_point, do_arrow}
  377. X  #endif
  378. X
  379. X--- 607,614 -----
  380. X  #ifdef EPS60
  381. X      ,{"epson_60dpi", "Epson-style 60-dot per inch printers",
  382. X         EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
  383. X!        EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset,
  384. X!        EPS60text, null_scale, EPS60graphics, EPSONmove, EPSONvector,
  385. X         EPSONlinetype, EPSONput_text, EPSON_text_angle,
  386. X         null_justify_text, do_point, do_arrow}
  387. X  #endif
  388. X***************
  389. X*** 632,638
  390. X  #endif
  391. X  
  392. X  #ifdef EPSON
  393. X!     ,{"epson_lx800", "Epson LX-800, Star NL-10, NX-1000 and lots of others",
  394. X         EPSONXMAX, EPSONYMAX, EPSONVCHAR, EPSONHCHAR, 
  395. X         EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset, 
  396. X         EPSONtext, null_scale, EPSONgraphics, EPSONmove, EPSONvector, 
  397. X
  398. X--- 614,620 -----
  399. X  #endif
  400. X  
  401. X  #ifdef EPSON
  402. X!     ,{"epson_lx800", "Epson LX-800, Star NL-10, NX-1000, PROPRINTER ...",
  403. X         EPSONXMAX, EPSONYMAX, EPSONVCHAR, EPSONHCHAR, 
  404. X         EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset, 
  405. X         EPSONtext, null_scale, EPSONgraphics, EPSONmove, EPSONvector, 
  406. X***************
  407. X*** 685,709
  408. X         null_justify_text, do_point, do_arrow}
  409. X  #endif
  410. X  
  411. X! #ifdef HPLJET
  412. X!     ,{"laserjet1", "HP Laserjet, smallest size",
  413. X!        HPLJETXMAX, HPLJETYMAX, HPLJET1VCHAR, HPLJET1HCHAR, 
  414. X!        HPLJETVTIC, HPLJETHTIC, HPLJET1init, HPLJETreset, 
  415. X!        HPLJETtext, null_scale, HPLJETgraphics, HPLJETmove, HPLJETvector,
  416. X!        HPLJETlinetype, HPLJETput_text, null_text_angle, 
  417. X!        null_justify_text, line_and_point, do_arrow}
  418. X!     ,{"laserjet2", "HP Laserjet, medium size",
  419. X!        HPLJETXMAX, HPLJETYMAX, HPLJET2VCHAR, HPLJET2HCHAR, 
  420. X!        HPLJETVTIC, HPLJETHTIC, HPLJET2init, HPLJETreset, 
  421. X!        HPLJETtext, null_scale, HPLJETgraphics, HPLJETmove, HPLJETvector,
  422. X!        HPLJETlinetype, HPLJETput_text, null_text_angle, 
  423. X!        null_justify_text, line_and_point, do_arrow}
  424. X!     ,{"laserjet3", "HP Laserjet, largest size",
  425. X!        HPLJETXMAX, HPLJETYMAX, HPLJET3VCHAR, HPLJET3HCHAR, 
  426. X!        HPLJETVTIC, HPLJETHTIC, HPLJET3init, HPLJETreset, 
  427. X!        HPLJETtext, null_scale, HPLJETgraphics, HPLJETmove, HPLJETvector, 
  428. X!        HPLJETlinetype, HPLJETput_text, null_text_angle, 
  429. X!        null_justify_text, line_and_point, do_arrow}
  430. X  #endif
  431. X  
  432. X  #ifdef IMAGEN
  433. X
  434. X--- 667,701 -----
  435. X         null_justify_text, do_point, do_arrow}
  436. X  #endif
  437. X  
  438. X! #ifdef HPLJII
  439. X!     ,{"hpljii_300ppi", "HP Laserjet series II with 300 pixels per inch",
  440. X!        HPLJII_300PPI_XMAX, HPLJII_300PPI_YMAX, HPLJII_300PPI_VCHAR,
  441. X!        HPLJII_300PPI_HCHAR, HPLJII_300PPI_VTIC, HPLJII_300PPI_HTIC,
  442. X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
  443. X!        HPLJII_300PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
  444. X!        HPLJIIput_text, HPLJIItext_angle,  null_justify_text, line_and_point,
  445. X!        do_arrow}
  446. X!     ,{"hpljii_150ppi", "HP Laserjet series II with 150 pixels per inch",
  447. X!        HPLJII_150PPI_XMAX, HPLJII_150PPI_YMAX, HPLJII_150PPI_VCHAR,
  448. X!        HPLJII_150PPI_HCHAR, HPLJII_150PPI_VTIC, HPLJII_150PPI_HTIC,
  449. X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
  450. X!        HPLJII_150PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
  451. X!        HPLJIIput_text, HPLJIItext_angle, null_justify_text, line_and_point,
  452. X!        do_arrow}
  453. X!     ,{"hpljii_100ppi", "HP Laserjet series II with 100 pixels per inch",
  454. X!        HPLJII_100PPI_XMAX, HPLJII_100PPI_YMAX, HPLJII_100PPI_VCHAR,
  455. X!        HPLJII_100PPI_HCHAR, HPLJII_100PPI_VTIC, HPLJII_100PPI_HTIC,
  456. X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
  457. X!        HPLJII_100PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
  458. X!        HPLJIIput_text, HPLJIItext_angle, null_justify_text, line_and_point,
  459. X!        do_arrow}
  460. X!     ,{"hpljii_75ppi", "HP Laserjet series II with 75 pixels per inch",
  461. X!        HPLJII_75PPI_XMAX, HPLJII_75PPI_YMAX, HPLJII_75PPI_VCHAR,
  462. X!        HPLJII_75PPI_HCHAR, HPLJII_75PPI_VTIC, HPLJII_75PPI_HTIC,
  463. X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
  464. X!        HPLJII_75PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
  465. X!        HPLJIIput_text, HPLJIItext_angle, null_justify_text, line_and_point,
  466. X!        do_arrow}
  467. X  #endif
  468. X  
  469. X  #ifdef IMAGEN
  470. X***************
  471. X*** 749,755
  472. X  #endif
  473. X  
  474. X  #ifdef NEC
  475. X!     ,{"nec_cp6m", "NEC printer CP6 Monochrome",
  476. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  477. X         NECVTIC, NECHTIC, NECMinit, NECreset, 
  478. X         NECtext, null_scale, NECgraphics, NECmove, NECvector, 
  479. X
  480. X--- 741,747 -----
  481. X  #endif
  482. X  
  483. X  #ifdef NEC
  484. X!     ,{"nec_cp6m", "NEC printer CP6, Epson LQ-800 Monochrome",
  485. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  486. X         NECVTIC, NECHTIC, NECinit, NECreset, 
  487. X         NECtext, null_scale, NECMgraphics, NECmove, NECvector, 
  488. X***************
  489. X*** 751,758
  490. X  #ifdef NEC
  491. X      ,{"nec_cp6m", "NEC printer CP6 Monochrome",
  492. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  493. X!        NECVTIC, NECHTIC, NECMinit, NECreset, 
  494. X!        NECtext, null_scale, NECgraphics, NECmove, NECvector, 
  495. X         NECMlinetype, NECput_text, NEC_text_angle, 
  496. X         null_justify_text, line_and_point, do_arrow}
  497. X      ,{"nec_cp6c", "NEC printer CP6 Color",
  498. X
  499. X--- 743,750 -----
  500. X  #ifdef NEC
  501. X      ,{"nec_cp6m", "NEC printer CP6, Epson LQ-800 Monochrome",
  502. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  503. X!        NECVTIC, NECHTIC, NECinit, NECreset, 
  504. X!        NECtext, null_scale, NECMgraphics, NECmove, NECvector, 
  505. X         NECMlinetype, NECput_text, NEC_text_angle, 
  506. X         null_justify_text, line_and_point, do_arrow}
  507. X      ,{"nec_cp6c", "NEC printer CP6 Color",
  508. X***************
  509. X*** 757,764
  510. X         null_justify_text, line_and_point, do_arrow}
  511. X      ,{"nec_cp6c", "NEC printer CP6 Color",
  512. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  513. X!        NECVTIC, NECHTIC, NECCinit, NECreset, 
  514. X!        NECtext, null_scale, NECgraphics, NECmove, NECvector, 
  515. X         NECClinetype, NECput_text, NEC_text_angle, 
  516. X         null_justify_text, do_point, do_arrow}
  517. X      ,{"nec_cp6d", "NEC printer CP6 Draft monochrome",
  518. X
  519. X--- 749,756 -----
  520. X         null_justify_text, line_and_point, do_arrow}
  521. X      ,{"nec_cp6c", "NEC printer CP6 Color",
  522. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  523. X!        NECVTIC, NECHTIC, NECinit, NECreset, 
  524. X!        NECtext, null_scale, NECCgraphics, NECmove, NECvector, 
  525. X         NECClinetype, NECput_text, NEC_text_angle, 
  526. X         null_justify_text, do_point, do_arrow}
  527. X      ,{"nec_cp6d", "NEC printer CP6, Epson LQ-800 Draft monochrome",
  528. X***************
  529. X*** 761,767
  530. X         NECtext, null_scale, NECgraphics, NECmove, NECvector, 
  531. X         NECClinetype, NECput_text, NEC_text_angle, 
  532. X         null_justify_text, do_point, do_arrow}
  533. X!     ,{"nec_cp6d", "NEC printer CP6 Draft monochrome",
  534. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  535. X         NECVTIC, NECHTIC, NECMinit, NECreset, 
  536. X         NECdraft_text, null_scale, NECgraphics, NECmove, NECvector, 
  537. X
  538. X--- 753,759 -----
  539. X         NECtext, null_scale, NECCgraphics, NECmove, NECvector, 
  540. X         NECClinetype, NECput_text, NEC_text_angle, 
  541. X         null_justify_text, do_point, do_arrow}
  542. X!     ,{"nec_cp6d", "NEC printer CP6, Epson LQ-800 Draft monochrome",
  543. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  544. X         NECVTIC, NECHTIC, NECinit, NECreset, 
  545. X         NECdraft_text, null_scale, NECMgraphics, NECmove, NECvector, 
  546. X***************
  547. X*** 763,770
  548. X         null_justify_text, do_point, do_arrow}
  549. X      ,{"nec_cp6d", "NEC printer CP6 Draft monochrome",
  550. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  551. X!        NECVTIC, NECHTIC, NECMinit, NECreset, 
  552. X!        NECdraft_text, null_scale, NECgraphics, NECmove, NECvector, 
  553. X         NECMlinetype, NECput_text, NEC_text_angle, 
  554. X         null_justify_text, line_and_point, do_arrow}
  555. X  #endif
  556. X
  557. X--- 755,762 -----
  558. X         null_justify_text, do_point, do_arrow}
  559. X      ,{"nec_cp6d", "NEC printer CP6, Epson LQ-800 Draft monochrome",
  560. X         NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
  561. X!        NECVTIC, NECHTIC, NECinit, NECreset, 
  562. X!        NECdraft_text, null_scale, NECMgraphics, NECmove, NECvector, 
  563. X         NECMlinetype, NECput_text, NEC_text_angle, 
  564. X         null_justify_text, line_and_point, do_arrow}
  565. X  #endif
  566. X***************
  567. X*** 796,809
  568. X         PS_justify_text, PS_point, do_arrow}
  569. X  #endif
  570. X  
  571. X! #ifdef PROPRINTER
  572. X!     ,{"proprinter", "IBM Proprinter",
  573. X!        EPSONXMAX, EPSONYMAX, EPSONVCHAR, EPSONHCHAR, 
  574. X!        EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset, 
  575. X!        PROPRINTERtext, null_scale, EPSONgraphics, EPSONmove, EPSONvector, 
  576. X!        EPSONlinetype, EPSONput_text, EPSON_text_angle, 
  577. X!        null_justify_text, line_and_point, do_arrow}
  578. X! #endif
  579. X  
  580. X  #ifdef QMS
  581. X      ,{"qms", "QMS/QUIC Laser printer (also Talaris 1200 and others)",
  582. X
  583. X--- 788,807 -----
  584. X         PS_justify_text, PS_point, do_arrow}
  585. X  #endif
  586. X  
  587. X! #ifdef PRESCRIBE
  588. X!     ,{"prescribe", "Prescribe - for the Kyocera Laser Printer",
  589. X!     PRE_XMAX, PRE_YMAX, PRE_VCHAR, PRE_HCHAR, 
  590. X!     PRE_VTIC, PRE_HTIC, PRE_init, PRE_reset, 
  591. X!     PRE_text, null_scale, PRE_graphics, PRE_move, PRE_vector, 
  592. X!     PRE_linetype, PRE_put_text, null_text_angle, 
  593. X!     PRE_justify_text, line_and_point, do_arrow}
  594. X!     ,{"kyo", "Kyocera Laser Printer with Courier font",
  595. X!     PRE_XMAX, PRE_YMAX, KYO_VCHAR, KYO_HCHAR, 
  596. X!     PRE_VTIC, PRE_HTIC, KYO_init, PRE_reset, 
  597. X!     PRE_text, null_scale, PRE_graphics, PRE_move, PRE_vector, 
  598. X!     PRE_linetype, PRE_put_text, null_text_angle, 
  599. X!     PRE_justify_text, line_and_point, do_arrow}
  600. X! #endif /* PRESCRIBE */
  601. X  
  602. X  #ifdef QMS
  603. X      ,{"qms", "QMS/QUIC Laser printer (also Talaris 1200 and others)",
  604. X***************
  605. X*** 854,861
  606. X  #ifdef TANDY60
  607. X      ,{"tandy_60dpi", "Tandy DMP-130 series 60-dot per inch graphics",
  608. X         EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
  609. X!        EPSONVTIC, EPSONHTIC, EPS60init, EPSONreset,
  610. X!        TANDY60text, null_scale, EPSONgraphics, EPSONmove, EPSONvector,
  611. X         EPSONlinetype, EPSONput_text, EPSON_text_angle,
  612. X         null_justify_text, do_point, do_arrow}
  613. X  #endif
  614. X
  615. X--- 852,859 -----
  616. X  #ifdef TANDY60
  617. X      ,{"tandy_60dpi", "Tandy DMP-130 series 60-dot per inch graphics",
  618. X         EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
  619. X!        EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset,
  620. X!        TANDY60text, null_scale, EPS60graphics, EPSONmove, EPSONvector,
  621. X         EPSONlinetype, EPSONput_text, EPSON_text_angle,
  622. X         null_justify_text, do_point, do_arrow}
  623. X  #endif
  624. X***************
  625. X*** 905,910
  626. X         null_justify_text, do_point, do_arrow}
  627. X  #endif
  628. X  
  629. X  #ifdef X11
  630. X      ,{"x11", "X11 Window System",
  631. X         X11_XMAX, X11_YMAX, X11_VCHAR, X11_HCHAR, 
  632. X
  633. X--- 903,917 -----
  634. X         null_justify_text, do_point, do_arrow}
  635. X  #endif
  636. X  
  637. X+ #ifdef VTTEK
  638. X+     ,{"vttek", "VT-like tek40xx terminal emulator",
  639. X+        TEK40XMAX,TEK40YMAX,TEK40VCHAR, TEK40HCHAR,
  640. X+        TEK40VTIC, TEK40HTIC, VTTEK40init, VTTEK40reset,
  641. X+        TEK40text, null_scale, TEK40graphics, TEK40move, TEK40vector,
  642. X+        VTTEK40linetype, VTTEK40put_text, null_text_angle,
  643. X+        null_justify_text, line_and_point, do_arrow}
  644. X+ #endif
  645. X+ 
  646. X  #ifdef X11
  647. X      ,{"x11", "X11 Window System",
  648. X         X11_XMAX, X11_YMAX, X11_VCHAR, X11_HCHAR, 
  649. X***************
  650. X*** 1014,1020
  651. X  {
  652. X      char *term_name = NULL;
  653. X      int t;
  654. X- #ifdef SUN  /* turbo C doesn't like unused variables */
  655. X      char *term = NULL;        /* from TERM environment var */
  656. X  #endif
  657. X      char *gnuterm = NULL;
  658. X
  659. X--- 1021,1026 -----
  660. X  {
  661. X      char *term_name = NULL;
  662. X      int t;
  663. X      char *term = NULL;        /* from TERM environment var */
  664. X  #ifdef X11
  665. X      char *display = NULL;
  666. X***************
  667. X*** 1016,1021
  668. X      int t;
  669. X  #ifdef SUN  /* turbo C doesn't like unused variables */
  670. X      char *term = NULL;        /* from TERM environment var */
  671. X  #endif
  672. X      char *gnuterm = NULL;
  673. X  
  674. X
  675. X--- 1022,1029 -----
  676. X      char *term_name = NULL;
  677. X      int t;
  678. X      char *term = NULL;        /* from TERM environment var */
  679. X+ #ifdef X11
  680. X+     char *display = NULL;
  681. X  #endif
  682. X      char *gnuterm = NULL;
  683. X  
  684. X***************
  685. X*** 1026,1031
  686. X      else {
  687. X  #ifdef __TURBOC__
  688. X         term_name = turboc_init();
  689. X  #endif
  690. X         
  691. X  #ifdef vms
  692. X
  693. X--- 1034,1040 -----
  694. X      else {
  695. X  #ifdef __TURBOC__
  696. X         term_name = turboc_init();
  697. X+        term = (char *)NULL; /* shut up turbo C */
  698. X  #endif
  699. X         
  700. X  #ifdef vms
  701. X***************
  702. X*** 1039,1044
  703. X          term_name = "sun";
  704. X  #endif /* sun */
  705. X  
  706. X  #ifdef UNIXPC
  707. X             if (iswind() == 0) {
  708. X                term_name = "unixpc";
  709. X
  710. X--- 1048,1063 -----
  711. X          term_name = "sun";
  712. X  #endif /* sun */
  713. X  
  714. X+ #ifdef X11
  715. X+        term = getenv("TERM");    /* try $TERM */
  716. X+        if (term_name == (char *)NULL
  717. X+           && term != (char *)NULL && strcmp(term, "xterm") == 0)
  718. X+         term_name = "x11";
  719. X+        display = getenv("DISPLAY");
  720. X+        if (term_name == (char *)NULL && display != (char *)NULL)
  721. X+         term_name = "x11";
  722. X+ #endif /* x11 */
  723. X+ 
  724. X  #ifdef UNIXPC
  725. X             if (iswind() == 0) {
  726. X                term_name = "unixpc";
  727. X***************
  728. X*** 1044,1049
  729. X                term_name = "unixpc";
  730. X             }
  731. X  #endif /* unixpc */
  732. X      }
  733. X  
  734. X      /* We have a name, try to set term type */
  735. X
  736. X--- 1063,1073 -----
  737. X                term_name = "unixpc";
  738. X             }
  739. X  #endif /* unixpc */
  740. X+ 
  741. X+ #ifdef CGI
  742. X+        if (getenv("CGIDISP") || getenv("CGIPRNT"))
  743. X+          term_name = "cgi";
  744. X+ #endif /*CGI */
  745. X      }
  746. X  
  747. X      /* We have a name, try to set term type */
  748. X***************
  749. X*** 1103,1109
  750. X  }
  751. X  #endif /* __TURBOC__ */
  752. X  
  753. X- #ifdef vms
  754. X  /*
  755. X   * Determine if we have a regis terminal.  
  756. X   * and do a SET TERM/NOWRAP
  757. X
  758. X--- 1127,1132 -----
  759. X  }
  760. X  #endif /* __TURBOC__ */
  761. X  
  762. X  /*
  763. X      This is always defined so we don't have to have command.c know if it
  764. X      is there or not.
  765. X***************
  766. X*** 1105,1178
  767. X  
  768. X  #ifdef vms
  769. X  /*
  770. X-  * Determine if we have a regis terminal.  
  771. X-  * and do a SET TERM/NOWRAP
  772. X- */
  773. X- char *
  774. X- vms_init()
  775. X- {
  776. X- char *term_str="tt:";
  777. X- typedef struct
  778. X-           {
  779. X-           short cond_value;
  780. X-           short count;
  781. X-           int info;
  782. X-           }  status_block;
  783. X- typedef struct
  784. X-           {
  785. X-           short buffer_len;
  786. X-           short item_code;
  787. X-           int buffer_addr;
  788. X-           int ret_len_addr;
  789. X-           }  item_desc;
  790. X- struct {
  791. X-     item_desc dev_type;
  792. X-       int terminator;
  793. X-    }  dvi_list;
  794. X-    int status, dev_type, zero=0;
  795. X-    char buffer[255];
  796. X-    $DESCRIPTOR(term_desc, term_str);
  797. X- 
  798. X- /* This does the equivalent of a SET TERM/NOWRAP command */
  799. X-     int i;
  800. X-     sys$assign(&sysoutput_desc,&chan,0,0);
  801. X-     sys$qiow(0,chan,IO$_SENSEMODE,0,0,0,old_char_buf,12,0,0,0,0);
  802. X-     for (i = 0 ; i < 3 ; ++i) new_char_buf[i] = old_char_buf[i];
  803. X-     new_char_buf[1] &= ~(TT$M_WRAP);
  804. X-     sys$qiow(0,chan,IO$_SETMODE,0,0,0,new_char_buf,12,0,0,0,0);
  805. X-     sys$dassgn(chan);
  806. X- 
  807. X- /* set up dvi item list */
  808. X-     dvi_list.dev_type.buffer_len = 4;
  809. X-     dvi_list.dev_type.item_code = DVI$_TT_REGIS;
  810. X-     dvi_list.dev_type.buffer_addr = &dev_type;
  811. X-     dvi_list.dev_type.ret_len_addr = 0;
  812. X- 
  813. X-     dvi_list.terminator = 0;
  814. X- 
  815. X- /* See what type of terminal we have. */
  816. X-     status = SYS$GETDVIW (0, 0, &term_desc, &dvi_list, 0, 0, 0, 0);
  817. X-     if ((status & 1) && dev_type) {
  818. X-         return("regis");
  819. X-     }
  820. X-      return(NULL);
  821. X- }
  822. X- 
  823. X- 
  824. X- 
  825. X- /*
  826. X-  *  vms_reset
  827. X-  */
  828. X- vms_reset()
  829. X- {
  830. X-     /* set wrap back to original state */
  831. X-     sys$assign(&sysoutput_desc,&chan,0,0);
  832. X-     sys$qiow(0,chan,IO$_SETMODE,0,0,0,old_char_buf,12,0,0,0,0);
  833. X-     sys$dassgn(chan);
  834. X- }
  835. X- #endif /* VMS */
  836. X- 
  837. X- /*
  838. X      This is always defined so we don't have to have command.c know if it
  839. X      is there or not.
  840. X  */
  841. X
  842. X--- 1128,1133 -----
  843. X  #endif /* __TURBOC__ */
  844. X  
  845. X  /*
  846. X      This is always defined so we don't have to have command.c know if it
  847. X      is there or not.
  848. X  */
  849. X***************
  850. X*** 1237,1242
  851. X      register struct termentry *t = &term_tbl[term];
  852. X      char *str;
  853. X      int x,y, xl,yl, i;
  854. X      char label[MAX_ID_LEN];
  855. X  
  856. X      if (!term_init) {
  857. X
  858. X--- 1192,1198 -----
  859. X      register struct termentry *t = &term_tbl[term];
  860. X      char *str;
  861. X      int x,y, xl,yl, i;
  862. X+     unsigned int xmax, ymax;
  863. X      char label[MAX_ID_LEN];
  864. X  
  865. X      if (!term_init) {
  866. X***************
  867. X*** 1244,1249
  868. X         term_init = TRUE;
  869. X      }
  870. X      screen_ok = FALSE;
  871. X      (*t->graphics)();
  872. X      /* border linetype */
  873. X      (*t->linetype)(-2);
  874. X
  875. X--- 1200,1208 -----
  876. X         term_init = TRUE;
  877. X      }
  878. X      screen_ok = FALSE;
  879. X+     (void)(*t->scale)(xsize, ysize);
  880. X+     xmax = (unsigned int)(t->xmax * xsize);
  881. X+     ymax = (unsigned int)(t->ymax * ysize);
  882. X      (*t->graphics)();
  883. X      /* border linetype */
  884. X      (*t->linetype)(-2);
  885. X***************
  886. X*** 1248,1256
  887. X      /* border linetype */
  888. X      (*t->linetype)(-2);
  889. X      (*t->move)(0,0);
  890. X!     (*t->vector)(t->xmax-1,0);
  891. X!     (*t->vector)(t->xmax-1,t->ymax-1);
  892. X!     (*t->vector)(0,t->ymax-1);
  893. X      (*t->vector)(0,0);
  894. X      (void) (*t->justify_text)(LEFT);
  895. X      (*t->put_text)(t->h_char*5,t->ymax-t->v_char*3,"Terminal Test");
  896. X
  897. X--- 1207,1215 -----
  898. X      /* border linetype */
  899. X      (*t->linetype)(-2);
  900. X      (*t->move)(0,0);
  901. X!     (*t->vector)(xmax-1,0);
  902. X!     (*t->vector)(xmax-1,ymax-1);
  903. X!     (*t->vector)(0,ymax-1);
  904. X      (*t->vector)(0,0);
  905. X      (void) (*t->justify_text)(LEFT);
  906. X      (*t->put_text)(t->h_char*5,ymax-t->v_char*3,"Terminal Test");
  907. X***************
  908. X*** 1253,1259
  909. X      (*t->vector)(0,t->ymax-1);
  910. X      (*t->vector)(0,0);
  911. X      (void) (*t->justify_text)(LEFT);
  912. X!     (*t->put_text)(t->h_char*5,t->ymax-t->v_char*3,"Terminal Test");
  913. X      /* axis linetype */
  914. X      (*t->linetype)(-1);
  915. X      (*t->move)(t->xmax/2,0);
  916. X
  917. X--- 1212,1218 -----
  918. X      (*t->vector)(0,ymax-1);
  919. X      (*t->vector)(0,0);
  920. X      (void) (*t->justify_text)(LEFT);
  921. X!     (*t->put_text)(t->h_char*5,ymax-t->v_char*3,"Terminal Test");
  922. X      /* axis linetype */
  923. X      (*t->linetype)(-1);
  924. X      (*t->move)(xmax/2,0);
  925. X***************
  926. X*** 1256,1265
  927. X      (*t->put_text)(t->h_char*5,t->ymax-t->v_char*3,"Terminal Test");
  928. X      /* axis linetype */
  929. X      (*t->linetype)(-1);
  930. X!     (*t->move)(t->xmax/2,0);
  931. X!     (*t->vector)(t->xmax/2,t->ymax-1);
  932. X!     (*t->move)(0,t->ymax/2);
  933. X!     (*t->vector)(t->xmax-1,t->ymax/2);
  934. X      /* test width and height of characters */
  935. X      (*t->linetype)(-2);
  936. X      (*t->move)(  t->xmax/2-t->h_char*10,t->ymax/2+t->v_char/2);
  937. X
  938. X--- 1215,1224 -----
  939. X      (*t->put_text)(t->h_char*5,ymax-t->v_char*3,"Terminal Test");
  940. X      /* axis linetype */
  941. X      (*t->linetype)(-1);
  942. X!     (*t->move)(xmax/2,0);
  943. X!     (*t->vector)(xmax/2,ymax-1);
  944. X!     (*t->move)(0,ymax/2);
  945. X!     (*t->vector)(xmax-1,ymax/2);
  946. X      /* test width and height of characters */
  947. X      (*t->linetype)(-2);
  948. X      (*t->move)(  xmax/2-t->h_char*10,ymax/2+t->v_char/2);
  949. X***************
  950. X*** 1262,1273
  951. X      (*t->vector)(t->xmax-1,t->ymax/2);
  952. X      /* test width and height of characters */
  953. X      (*t->linetype)(-2);
  954. X!     (*t->move)(  t->xmax/2-t->h_char*10,t->ymax/2+t->v_char/2);
  955. X!     (*t->vector)(t->xmax/2+t->h_char*10,t->ymax/2+t->v_char/2);
  956. X!     (*t->vector)(t->xmax/2+t->h_char*10,t->ymax/2-t->v_char/2);
  957. X!     (*t->vector)(t->xmax/2-t->h_char*10,t->ymax/2-t->v_char/2);
  958. X!     (*t->vector)(t->xmax/2-t->h_char*10,t->ymax/2+t->v_char/2);
  959. X!     (*t->put_text)(t->xmax/2-t->h_char*10,t->ymax/2,
  960. X          "12345678901234567890");
  961. X      /* test justification */
  962. X      (void) (*t->justify_text)(LEFT);
  963. X
  964. X--- 1221,1232 -----
  965. X      (*t->vector)(xmax-1,ymax/2);
  966. X      /* test width and height of characters */
  967. X      (*t->linetype)(-2);
  968. X!     (*t->move)(  xmax/2-t->h_char*10,ymax/2+t->v_char/2);
  969. X!     (*t->vector)(xmax/2+t->h_char*10,ymax/2+t->v_char/2);
  970. X!     (*t->vector)(xmax/2+t->h_char*10,ymax/2-t->v_char/2);
  971. X!     (*t->vector)(xmax/2-t->h_char*10,ymax/2-t->v_char/2);
  972. X!     (*t->vector)(xmax/2-t->h_char*10,ymax/2+t->v_char/2);
  973. X!     (*t->put_text)(xmax/2-t->h_char*10,ymax/2,
  974. X          "12345678901234567890");
  975. X      /* test justification */
  976. X      (void) (*t->justify_text)(LEFT);
  977. X***************
  978. X*** 1271,1277
  979. X          "12345678901234567890");
  980. X      /* test justification */
  981. X      (void) (*t->justify_text)(LEFT);
  982. X!     (*t->put_text)(t->xmax/2,t->ymax/2+t->v_char*6,"left justified");
  983. X      str = "centre+d text";
  984. X      if ((*t->justify_text)(CENTRE))
  985. X          (*t->put_text)(t->xmax/2,
  986. X
  987. X--- 1230,1236 -----
  988. X          "12345678901234567890");
  989. X      /* test justification */
  990. X      (void) (*t->justify_text)(LEFT);
  991. X!     (*t->put_text)(xmax/2,ymax/2+t->v_char*6,"left justified");
  992. X      str = "centre+d text";
  993. X      if ((*t->justify_text)(CENTRE))
  994. X          (*t->put_text)(xmax/2,
  995. X***************
  996. X*** 1274,1281
  997. X      (*t->put_text)(t->xmax/2,t->ymax/2+t->v_char*6,"left justified");
  998. X      str = "centre+d text";
  999. X      if ((*t->justify_text)(CENTRE))
  1000. X!         (*t->put_text)(t->xmax/2,
  1001. X!                 t->ymax/2+t->v_char*5,str);
  1002. X      else
  1003. X          (*t->put_text)(t->xmax/2-strlen(str)*t->h_char/2,
  1004. X                  t->ymax/2+t->v_char*5,str);
  1005. X
  1006. X--- 1233,1240 -----
  1007. X      (*t->put_text)(xmax/2,ymax/2+t->v_char*6,"left justified");
  1008. X      str = "centre+d text";
  1009. X      if ((*t->justify_text)(CENTRE))
  1010. X!         (*t->put_text)(xmax/2,
  1011. X!                 ymax/2+t->v_char*5,str);
  1012. X      else
  1013. X          (*t->put_text)(xmax/2-strlen(str)*t->h_char/2,
  1014. X                  ymax/2+t->v_char*5,str);
  1015. X***************
  1016. X*** 1277,1284
  1017. X          (*t->put_text)(t->xmax/2,
  1018. X                  t->ymax/2+t->v_char*5,str);
  1019. X      else
  1020. X!         (*t->put_text)(t->xmax/2-strlen(str)*t->h_char/2,
  1021. X!                 t->ymax/2+t->v_char*5,str);
  1022. X      str = "right justified";
  1023. X      if ((*t->justify_text)(RIGHT))
  1024. X          (*t->put_text)(t->xmax/2,
  1025. X
  1026. X--- 1236,1243 -----
  1027. X          (*t->put_text)(xmax/2,
  1028. X                  ymax/2+t->v_char*5,str);
  1029. X      else
  1030. X!         (*t->put_text)(xmax/2-strlen(str)*t->h_char/2,
  1031. X!                 ymax/2+t->v_char*5,str);
  1032. X      str = "right justified";
  1033. X      if ((*t->justify_text)(RIGHT))
  1034. X          (*t->put_text)(xmax/2,
  1035. X***************
  1036. X*** 1281,1288
  1037. X                  t->ymax/2+t->v_char*5,str);
  1038. X      str = "right justified";
  1039. X      if ((*t->justify_text)(RIGHT))
  1040. X!         (*t->put_text)(t->xmax/2,
  1041. X!                 t->ymax/2+t->v_char*4,str);
  1042. X      else
  1043. X          (*t->put_text)(t->xmax/2-strlen(str)*t->h_char,
  1044. X                  t->ymax/2+t->v_char*4,str);
  1045. X
  1046. X--- 1240,1247 -----
  1047. X                  ymax/2+t->v_char*5,str);
  1048. X      str = "right justified";
  1049. X      if ((*t->justify_text)(RIGHT))
  1050. X!         (*t->put_text)(xmax/2,
  1051. X!                 ymax/2+t->v_char*4,str);
  1052. X      else
  1053. X          (*t->put_text)(xmax/2-strlen(str)*t->h_char,
  1054. X                  ymax/2+t->v_char*4,str);
  1055. X***************
  1056. X*** 1284,1291
  1057. X          (*t->put_text)(t->xmax/2,
  1058. X                  t->ymax/2+t->v_char*4,str);
  1059. X      else
  1060. X!         (*t->put_text)(t->xmax/2-strlen(str)*t->h_char,
  1061. X!                 t->ymax/2+t->v_char*4,str);
  1062. X      /* test text angle */
  1063. X      str = "rotated ce+ntred text";
  1064. X      if ((*t->text_angle)(1)) {
  1065. X
  1066. X--- 1243,1250 -----
  1067. X          (*t->put_text)(xmax/2,
  1068. X                  ymax/2+t->v_char*4,str);
  1069. X      else
  1070. X!         (*t->put_text)(xmax/2-strlen(str)*t->h_char,
  1071. X!                 ymax/2+t->v_char*4,str);
  1072. X      /* test text angle */
  1073. X      str = "rotated ce+ntred text";
  1074. X      if ((*t->text_angle)(1)) {
  1075. X***************
  1076. X*** 1291,1297
  1077. X      if ((*t->text_angle)(1)) {
  1078. X          if ((*t->justify_text)(CENTRE))
  1079. X              (*t->put_text)(t->v_char,
  1080. X!                 t->ymax/2,str);
  1081. X          else
  1082. X              (*t->put_text)(t->v_char,
  1083. X                  t->ymax/2-strlen(str)*t->h_char/2,str);
  1084. X
  1085. X--- 1250,1256 -----
  1086. X      if ((*t->text_angle)(1)) {
  1087. X          if ((*t->justify_text)(CENTRE))
  1088. X              (*t->put_text)(t->v_char,
  1089. X!                 ymax/2,str);
  1090. X          else
  1091. X              (*t->put_text)(t->v_char,
  1092. X                  ymax/2-strlen(str)*t->h_char/2,str);
  1093. X***************
  1094. X*** 1294,1300
  1095. X                  t->ymax/2,str);
  1096. X          else
  1097. X              (*t->put_text)(t->v_char,
  1098. X!                 t->ymax/2-strlen(str)*t->h_char/2,str);
  1099. X      }
  1100. X      else {
  1101. X          (void) (*t->justify_text)(LEFT);
  1102. X
  1103. X--- 1253,1259 -----
  1104. X                  ymax/2,str);
  1105. X          else
  1106. X              (*t->put_text)(t->v_char,
  1107. X!                 ymax/2-strlen(str)*t->h_char/2,str);
  1108. X      }
  1109. X      else {
  1110. X          (void) (*t->justify_text)(LEFT);
  1111. X***************
  1112. X*** 1298,1304
  1113. X      }
  1114. X      else {
  1115. X          (void) (*t->justify_text)(LEFT);
  1116. X!         (*t->put_text)(t->h_char*2,t->ymax/2-t->v_char*2,"Can't rotate text");
  1117. X      }
  1118. X      (void) (*t->justify_text)(LEFT);
  1119. X      (void) (*t->text_angle)(0);
  1120. X
  1121. X--- 1257,1263 -----
  1122. X      }
  1123. X      else {
  1124. X          (void) (*t->justify_text)(LEFT);
  1125. X!         (*t->put_text)(t->h_char*2,ymax/2-t->v_char*2,"Can't rotate text");
  1126. X      }
  1127. X      (void) (*t->justify_text)(LEFT);
  1128. X      (void) (*t->text_angle)(0);
  1129. X***************
  1130. X*** 1303,1313
  1131. X      (void) (*t->justify_text)(LEFT);
  1132. X      (void) (*t->text_angle)(0);
  1133. X      /* test tic size */
  1134. X!     (*t->move)(t->xmax/2+t->h_tic*2,0);
  1135. X!     (*t->vector)(t->xmax/2+t->h_tic*2,t->v_tic);
  1136. X!     (*t->move)(t->xmax/2,t->v_tic*2);
  1137. X!     (*t->vector)(t->xmax/2+t->h_tic,t->v_tic*2);
  1138. X!     (*t->put_text)(t->xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
  1139. X      /* test line and point types */
  1140. X      x = t->xmax - t->h_char*4 - t->h_tic*4;
  1141. X      y = t->ymax - t->v_char;
  1142. X
  1143. X--- 1262,1272 -----
  1144. X      (void) (*t->justify_text)(LEFT);
  1145. X      (void) (*t->text_angle)(0);
  1146. X      /* test tic size */
  1147. X!     (*t->move)(xmax/2+t->h_tic*2,0);
  1148. X!     (*t->vector)(xmax/2+t->h_tic*2,t->v_tic);
  1149. X!     (*t->move)(xmax/2,t->v_tic*2);
  1150. X!     (*t->vector)(xmax/2+t->h_tic,t->v_tic*2);
  1151. X!     (*t->put_text)(xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
  1152. X      /* test line and point types */
  1153. X      x = xmax - t->h_char*4 - t->h_tic*4;
  1154. X      y = ymax - t->v_char;
  1155. X***************
  1156. X*** 1309,1316
  1157. X      (*t->vector)(t->xmax/2+t->h_tic,t->v_tic*2);
  1158. X      (*t->put_text)(t->xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
  1159. X      /* test line and point types */
  1160. X!     x = t->xmax - t->h_char*4 - t->h_tic*4;
  1161. X!     y = t->ymax - t->v_char;
  1162. X      for ( i = -2; y > t->v_char; i++ ) {
  1163. X          (*t->linetype)(i);
  1164. X          (void) sprintf(label,"%d",i);
  1165. X
  1166. X--- 1268,1275 -----
  1167. X      (*t->vector)(xmax/2+t->h_tic,t->v_tic*2);
  1168. X      (*t->put_text)(xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
  1169. X      /* test line and point types */
  1170. X!     x = xmax - t->h_char*4 - t->h_tic*4;
  1171. X!     y = ymax - t->v_char;
  1172. X      for ( i = -2; y > t->v_char; i++ ) {
  1173. X          (*t->linetype)(i);
  1174. X          (void) sprintf(label,"%d",i);
  1175. X***************
  1176. X*** 1326,1333
  1177. X      }
  1178. X      /* test some arrows */
  1179. X      (*t->linetype)(0);
  1180. X!     x = t->xmax/4;
  1181. X!     y = t->ymax/4;
  1182. X      xl = t->h_tic*5;
  1183. X      yl = t->v_tic*5;
  1184. X      (*t->arrow)(x,y,x+xl,y);
  1185. X
  1186. X--- 1285,1292 -----
  1187. X      }
  1188. X      /* test some arrows */
  1189. X      (*t->linetype)(0);
  1190. X!     x = xmax/4;
  1191. X!     y = ymax/4;
  1192. X      xl = t->h_tic*5;
  1193. X      yl = t->v_tic*5;
  1194. X      (*t->arrow)(x,y,x+xl,y);
  1195. X***************
  1196. X*** 1341,1343
  1197. X      /* and back into text mode */
  1198. X      (*t->text)();
  1199. X  }
  1200. X
  1201. X--- 1300,1519 -----
  1202. X      /* and back into text mode */
  1203. X      (*t->text)();
  1204. X  }
  1205. X+ 
  1206. X+ 
  1207. X+ #ifdef PC
  1208. X+ /* output for some terminal types must be binary to stop non Unix computers
  1209. X+    changing \n to \r\n. 
  1210. X+    If the output is not STDOUT, the following code reopens outfile 
  1211. X+    with binary mode. */
  1212. X+ void
  1213. X+ reopen_binary()
  1214. X+ {
  1215. X+ char filename[MAX_ID_LEN+1];
  1216. X+ 
  1217. X+     if (strcmp(outstr,"STDOUT")) {
  1218. X+         (void) fclose(outfile);
  1219. X+         (void) strcpy(filename,outstr+1);    /* remove quotes */
  1220. X+         filename[strlen(filename)-1] = '\0';
  1221. X+         if ( (outfile = fopen(filename,"wb")) == (FILE *)NULL ) {
  1222. X+             if ( (outfile = fopen(filename,"w")) == (FILE *)NULL ) {
  1223. X+                 os_error("cannot reopen file with binary type; output unknown",
  1224. X+                     NO_CARET);
  1225. X+             } 
  1226. X+             else {
  1227. X+     os_error("cannot reopen file with binary type; output reset to ascii", 
  1228. X+                     NO_CARET);
  1229. X+             }
  1230. X+         }
  1231. X+     }
  1232. X+ }
  1233. X+ #endif
  1234. X+ 
  1235. X+ #ifdef VMS
  1236. X+ /* these are needed to modify terminal characteristics */
  1237. X+ #include <descrip.h>
  1238. X+ #include <iodef.h>
  1239. X+ #include <ttdef.h>
  1240. X+ #include <tt2def.h>
  1241. X+ #include <dcdef.h>
  1242. X+ #include <ssdef.h>
  1243. X+ #include <stat.h>
  1244. X+ #include <fab.h>
  1245. X+ static unsigned short   chan;
  1246. X+ static int  old_char_buf[3], cur_char_buf[3];
  1247. X+ $DESCRIPTOR(sysoutput_desc,"SYS$OUTPUT");
  1248. X+ 
  1249. X+ char *vms_init()
  1250. X+ /*
  1251. X+  * Determine if we have a regis terminal
  1252. X+  * and save terminal characteristics
  1253. X+ */
  1254. X+ {
  1255. X+    /* Save terminal characteristics in old_char_buf and
  1256. X+    initialise cur_char_buf to current settings. */
  1257. X+    int i;
  1258. X+    sys$assign(&sysoutput_desc,&chan,0,0);
  1259. X+    sys$qiow(0,chan,IO$_SENSEMODE,0,0,0,old_char_buf,12,0,0,0,0);
  1260. X+    for (i = 0 ; i < 3 ; ++i) cur_char_buf[i] = old_char_buf[i];
  1261. X+    sys$dassgn(chan);
  1262. X+ 
  1263. X+    /* Test if terminal is regis */
  1264. X+    if ((cur_char_buf[2] & TT2$M_REGIS) == TT2$M_REGIS) return("regis");
  1265. X+    return(NULL);
  1266. X+ }
  1267. X+ 
  1268. X+ void
  1269. X+ vms_reset()
  1270. X+ /* set terminal to original state */
  1271. X+ {
  1272. X+    int i;
  1273. X+    sys$assign(&sysoutput_desc,&chan,0,0);
  1274. X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,old_char_buf,12,0,0,0,0);
  1275. X+    for (i = 0 ; i < 3 ; ++i) cur_char_buf[i] = old_char_buf[i];
  1276. X+    sys$dassgn(chan);
  1277. X+ }
  1278. X+ 
  1279. X+ void
  1280. X+ term_mode_tek()
  1281. X+ /* set terminal mode to tektronix */
  1282. X+ {
  1283. X+    long status;
  1284. X+    if (outfile != stdout) return; /* don't modify if not stdout */
  1285. X+    sys$assign(&sysoutput_desc,&chan,0,0);
  1286. X+    cur_char_buf[0] = 0x004A0000 | DC$_TERM | (TT$_TEK401X<<8);
  1287. X+    cur_char_buf[1] = (cur_char_buf[1] & 0x00FFFFFF) | 0x18000000;
  1288. X+ 
  1289. X+    cur_char_buf[1] &= ~TT$M_CRFILL;
  1290. X+    cur_char_buf[1] &= ~TT$M_ESCAPE;
  1291. X+    cur_char_buf[1] &= ~TT$M_HALFDUP;
  1292. X+    cur_char_buf[1] &= ~TT$M_LFFILL;
  1293. X+    cur_char_buf[1] &= ~TT$M_MECHFORM;
  1294. X+    cur_char_buf[1] &= ~TT$M_NOBRDCST;
  1295. X+    cur_char_buf[1] &= ~TT$M_NOECHO;
  1296. X+    cur_char_buf[1] &= ~TT$M_READSYNC;
  1297. X+    cur_char_buf[1] &= ~TT$M_REMOTE;
  1298. X+    cur_char_buf[1] |= TT$M_LOWER;
  1299. X+    cur_char_buf[1] |= TT$M_TTSYNC;
  1300. X+    cur_char_buf[1] |= TT$M_WRAP;
  1301. X+    cur_char_buf[1] &= ~TT$M_EIGHTBIT;
  1302. X+    cur_char_buf[1] &= ~TT$M_MECHTAB;
  1303. X+    cur_char_buf[1] &= ~TT$M_SCOPE;
  1304. X+    cur_char_buf[1] |= TT$M_HOSTSYNC;
  1305. X+ 
  1306. X+    cur_char_buf[2] &= ~TT2$M_APP_KEYPAD;
  1307. X+    cur_char_buf[2] &= ~TT2$M_BLOCK;
  1308. X+    cur_char_buf[2] &= ~TT2$M_DECCRT3;
  1309. X+    cur_char_buf[2] &= ~TT2$M_LOCALECHO;
  1310. X+    cur_char_buf[2] &= ~TT2$M_PASTHRU;
  1311. X+    cur_char_buf[2] &= ~TT2$M_REGIS;
  1312. X+    cur_char_buf[2] &= ~TT2$M_SIXEL;
  1313. X+    cur_char_buf[2] |= TT2$M_BRDCSTMBX;
  1314. X+    cur_char_buf[2] |= TT2$M_EDITING;
  1315. X+    cur_char_buf[2] |= TT2$M_INSERT;
  1316. X+    cur_char_buf[2] |= TT2$M_PRINTER;
  1317. X+    cur_char_buf[2] &= ~TT2$M_ANSICRT;
  1318. X+    cur_char_buf[2] &= ~TT2$M_AVO;
  1319. X+    cur_char_buf[2] &= ~TT2$M_DECCRT;
  1320. X+    cur_char_buf[2] &= ~TT2$M_DECCRT2;
  1321. X+    cur_char_buf[2] &= ~TT2$M_DRCS;
  1322. X+    cur_char_buf[2] &= ~TT2$M_EDIT;
  1323. X+    cur_char_buf[2] |= TT2$M_FALLBACK;
  1324. X+ 
  1325. X+    status = sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
  1326. X+    if (status == SS$_BADPARAM) {
  1327. X+       /* terminal fallback utility not installed on system */
  1328. X+       cur_char_buf[2] &= ~TT2$M_FALLBACK;
  1329. X+       sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
  1330. X+    }
  1331. X+    else {
  1332. X+       if (status != SS$_NORMAL)
  1333. X+          lib$signal(status,0,0);
  1334. X+    }
  1335. X+    sys$dassgn(chan);
  1336. X+ }
  1337. X+ 
  1338. X+ void
  1339. X+ term_mode_native()
  1340. X+ /* set terminal mode back to native */
  1341. X+ {
  1342. X+    int i;
  1343. X+    if (outfile != stdout) return; /* don't modify if not stdout */
  1344. X+    sys$assign(&sysoutput_desc,&chan,0,0);
  1345. X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,old_char_buf,12,0,0,0,0);
  1346. X+    for (i = 0 ; i < 3 ; ++i) cur_char_buf[i] = old_char_buf[i];
  1347. X+    sys$dassgn(chan);
  1348. X+ }
  1349. X+ 
  1350. X+ void
  1351. X+ term_pasthru()
  1352. X+ /* set terminal mode pasthru */
  1353. X+ {
  1354. X+    if (outfile != stdout) return; /* don't modify if not stdout */
  1355. X+    sys$assign(&sysoutput_desc,&chan,0,0);
  1356. X+    cur_char_buf[2] |= TT2$M_PASTHRU;
  1357. X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
  1358. X+    sys$dassgn(chan);
  1359. X+ }
  1360. X+ 
  1361. X+ void
  1362. X+ term_nopasthru()
  1363. X+ /* set terminal mode nopasthru */
  1364. X+ {
  1365. X+    if (outfile != stdout) return; /* don't modify if not stdout */
  1366. X+    sys$assign(&sysoutput_desc,&chan,0,0);
  1367. X+    cur_char_buf[2] &= ~TT2$M_PASTHRU;
  1368. X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
  1369. X+    sys$dassgn(chan);
  1370. X+ }
  1371. X+ 
  1372. X+ void
  1373. X+ reopen_binary()
  1374. X+ /* close the file outfile outfile and reopen it with binary type
  1375. X+    if not already done or outfile == stdout */
  1376. X+ {
  1377. X+    stat_t stat_buf;
  1378. X+    char filename[MAX_ID_LEN+1];
  1379. X+    if (outfile != stdout) { /* don't modify if not stdout */
  1380. X+       if (!fstat(fileno(outfile),&stat_buf)) {
  1381. X+          if (stat_buf.st_fab_rfm != FAB$C_FIX) {
  1382. X+             /* modify only if not already done */
  1383. X+             (void) fclose(outfile);
  1384. X+             (void) strcpy(filename,outstr+1);   /* remove quotes */
  1385. X+             filename[strlen(filename)-1] = '\0';
  1386. X+             (void) delete(filename);
  1387. X+             if ((outfile = fopen(filename,"wb","rfm=fix","bls=512","mrs=512"))
  1388. X+                 == (FILE *)NULL ) {
  1389. X+                if ( (outfile = fopen(filename,"w")) == (FILE *)NULL ) {
  1390. X+                  os_error("cannot reopen file with binary type; output unknown",
  1391. X+                            NO_CARET);
  1392. X+                }
  1393. X+                else {
  1394. X+           os_error("cannot reopen file with binary type; output reset to ascii",
  1395. X+                            NO_CARET);
  1396. X+                }
  1397. X+             }
  1398. X+          }
  1399. X+       }
  1400. X+       else{
  1401. X+          os_error("cannot reopen file with binary type; output remains ascii",
  1402. X+                   NO_CARET);
  1403. X+       }
  1404. X+    }
  1405. X+ }
  1406. X+ 
  1407. X+ void
  1408. X+ fflush_binary()
  1409. X+ {
  1410. X+    typedef short int INT16;     /* signed 16-bit integers */
  1411. X+    register INT16 k;            /* loop index */
  1412. X+    if (outfile != stdout) {
  1413. X+        /* Stupid VMS fflush() raises error and loses last data block
  1414. X+           unless it is full for a fixed-length record binary file.
  1415. X+           Pad it here with NULL characters. */
  1416. X+        for (k = (INT16)((*outfile)->_cnt); k > 0; --k)
  1417. X+           putc('\0',outfile);
  1418. X+        fflush(outfile);
  1419. X+    }
  1420. X+ }
  1421. X+ #endif
  1422. Xdiff -cr ./term.h ../gnuplot2.02/term.h
  1423. X*** ./term.h    Tue Sep 18 14:59:21 1990
  1424. X--- ../gnuplot2.02/term.h    Tue Dec 11 16:41:23 1990
  1425. X***************
  1426. X*** 39,45
  1427. X  
  1428. X  #define AED         /* AED 512 and AED 767 */
  1429. X  #define BITGRAPH    /* BBN BitGraph */
  1430. X! #define HPLJET        /* HP Laserjet */
  1431. X  /* #define IRIS4D      /* IRIS4D series computer */
  1432. X  #define KERMIT      /* MS-Kermit Tektronix 4010 emulator */
  1433. X  /* #define FIG           /* Fig graphics language (requires object.h from TransFig) */
  1434. X
  1435. X--- 39,45 -----
  1436. X  
  1437. X  #define AED         /* AED 512 and AED 767 */
  1438. X  #define BITGRAPH    /* BBN BitGraph */
  1439. X! /* #define CGI         /* SCO CGI */
  1440. X  /* #define IRIS4D      /* IRIS4D series computer */
  1441. X  #define KERMIT      /* MS-Kermit Tektronix 4010 emulator */
  1442. X  /* #define FIG           /* Fig graphics language (requires object.h from TransFig) */
  1443. X***************
  1444. X*** 50,55
  1445. X  #define TEK         /* Tektronix 4010, and probably others */
  1446. X  /* #define UNIXPC      /* unixpc (ATT 3b1 or ATT 7300) */
  1447. X  /* #define UNIXPLOT    /* unixplot */
  1448. X  /* #define X11         /* X11R4 window system */
  1449. X  
  1450. X  #endif 
  1451. X
  1452. X--- 50,56 -----
  1453. X  #define TEK         /* Tektronix 4010, and probably others */
  1454. X  /* #define UNIXPC      /* unixpc (ATT 3b1 or ATT 7300) */
  1455. X  /* #define UNIXPLOT    /* unixplot */
  1456. X+ #define VTTEK       /* VT-like tek40xx emulators */
  1457. X  /* #define X11         /* X11R4 window system */
  1458. X  
  1459. X  #endif 
  1460. X***************
  1461. X*** 64,69
  1462. X  #define HP26        /* HP2623A and maybe others */
  1463. X  #define HP75        /* HP7580, and probably other HPs */
  1464. X  #define HPGL        /* HP7475, HP7220 plotters, and (hopefully) lots of others */
  1465. X  #define IMAGEN      /* Imagen laser printers (300dpi) (requires -Iterm also) */
  1466. X  #define LATEX       /* LATEX picture environment */
  1467. X  #define NEC         /* NEC CP6 pinwriter printer */
  1468. X
  1469. X--- 65,71 -----
  1470. X  #define HP26        /* HP2623A and maybe others */
  1471. X  #define HP75        /* HP7580, and probably other HPs */
  1472. X  #define HPGL        /* HP7475, HP7220 plotters, and (hopefully) lots of others */
  1473. X+ #define HPLJII        /* HP LaserJet II */
  1474. X  #define IMAGEN      /* Imagen laser printers (300dpi) (requires -Iterm also) */
  1475. X  #define LATEX       /* LATEX picture environment */
  1476. X  #define NEC         /* NEC CP6 pinwriter printer */
  1477. X***************
  1478. X*** 68,74
  1479. X  #define LATEX       /* LATEX picture environment */
  1480. X  #define NEC         /* NEC CP6 pinwriter printer */
  1481. X  #define POSTSCRIPT  /* Postscript */
  1482. X! #define PROPRINTER  /* IBM Proprinter */
  1483. X  #define QMS         /* QMS/QUIC laserprinter (Talaris 1200 and others) */
  1484. X  #define STARC       /* Star Color Printer */
  1485. X  #define TANDY60        /* Tandy DMP-130 series 60-dot per inch graphics */
  1486. X
  1487. X--- 70,76 -----
  1488. X  #define LATEX       /* LATEX picture environment */
  1489. X  #define NEC         /* NEC CP6 pinwriter printer */
  1490. X  #define POSTSCRIPT  /* Postscript */
  1491. X! #define PRESCRIBE   /* Kyocera Laser printer */
  1492. X  #define QMS         /* QMS/QUIC laserprinter (Talaris 1200 and others) */
  1493. X  #define STARC       /* Star Color Printer */
  1494. X  #define TANDY60        /* Tandy DMP-130 series 60-dot per inch graphics */
  1495. XCommon subdirectories: ./translate and ../gnuplot2.02/translate
  1496. Xdiff -cr ./util.c ../gnuplot2.02/util.c
  1497. X*** ./util.c    Tue Mar 27 09:02:13 1990
  1498. X--- ../gnuplot2.02/util.c    Tue Dec  4 12:09:17 1990
  1499. X***************
  1500. X*** 324,329
  1501. X      }
  1502. X      int_error("unknown type in real()",NO_CARET);
  1503. X      /* NOTREACHED */
  1504. X  }
  1505. X  
  1506. X  
  1507. X
  1508. X--- 324,330 -----
  1509. X      }
  1510. X      int_error("unknown type in real()",NO_CARET);
  1511. X      /* NOTREACHED */
  1512. X+     return((double)0.0);
  1513. X  }
  1514. X  
  1515. X  
  1516. X***************
  1517. X*** 339,344
  1518. X      }
  1519. X      int_error("unknown type in real()",NO_CARET);
  1520. X      /* NOTREACHED */
  1521. X  }
  1522. X  
  1523. X  
  1524. X
  1525. X--- 340,346 -----
  1526. X      }
  1527. X      int_error("unknown type in real()",NO_CARET);
  1528. X      /* NOTREACHED */
  1529. X+     return((double)0.0);
  1530. X  }
  1531. X  
  1532. X  
  1533. X***************
  1534. X*** 360,365
  1535. X      }
  1536. X      int_error("unknown type in magnitude()",NO_CARET);
  1537. X      /* NOTREACHED */
  1538. X  }
  1539. X  
  1540. X  
  1541. X
  1542. X--- 362,368 -----
  1543. X      }
  1544. X      int_error("unknown type in magnitude()",NO_CARET);
  1545. X      /* NOTREACHED */
  1546. X+     return((double)0.0);
  1547. X  }
  1548. X  
  1549. X  
  1550. X***************
  1551. X*** 385,390
  1552. X      }
  1553. X      int_error("unknown type in angle()",NO_CARET);
  1554. X      /* NOTREACHED */
  1555. X  }
  1556. X  
  1557. X  
  1558. X
  1559. X--- 388,394 -----
  1560. X      }
  1561. X      int_error("unknown type in angle()",NO_CARET);
  1562. X      /* NOTREACHED */
  1563. X+     return((double)0.0);
  1564. X  }
  1565. X  
  1566. X  
  1567. Xdiff -cr ./version.c ../gnuplot2.02/version.c
  1568. X*** ./version.c    Tue Sep 18 14:47:22 1990
  1569. X--- ../gnuplot2.02/version.c    Wed Dec 19 09:24:06 1990
  1570. X***************
  1571. X*** 1,6
  1572. X! char version[] = "2.0";
  1573. X! char patchlevel[] = "1";
  1574. X! char date[] = "Tue Sep 18 14:46:32 EST 1990";
  1575. X  
  1576. X  /* override in Makefile */
  1577. X  #ifndef CONTACT
  1578. X
  1579. X--- 1,6 -----
  1580. X! char version[] = "2.0 ";
  1581. X! char patchlevel[] = "2";
  1582. X! char date[] = "Wed Dec 19 09:23:59 EST 1990";
  1583. X  
  1584. X  /* override in Makefile */
  1585. X  #ifndef CONTACT
  1586. Xdiff -cr ./demo/param.demo ../gnuplot2.02/demo/param.demo
  1587. X*** ./demo/param.demo    Fri Nov 23 17:50:22 1990
  1588. X--- ../gnuplot2.02/demo/param.demo    Fri Nov 23 16:52:51 1990
  1589. X***************
  1590. X*** 0
  1591. X
  1592. X--- 1,46 -----
  1593. X+ #
  1594. X+ # Show some of the new parametric capabilities.
  1595. X+ #
  1596. X+ set parametric
  1597. X+ set dummy t
  1598. X+ set autoscale
  1599. X+ set samples 160
  1600. X+ set title ""
  1601. X+ plot t,sin(t)/t title "t,sin(t)/t or sin(x)/x"
  1602. X+ pause -1 "Hit return"
  1603. X+ 
  1604. X+ plot sin(t)/t,t
  1605. X+ pause -1 "Hit return"
  1606. X+ 
  1607. X+ plot sin(t),cos(t)
  1608. X+ pause -1 "Hit return"
  1609. X+ 
  1610. X+ set xrange [-3:3]
  1611. X+ set yrange [-3:3]
  1612. X+ set title "Parametric Conic Sections"
  1613. X+ plot -t,t,cos(t),cos(2*t),2*cos(t),sin(t),-cosh(t),sinh(t)
  1614. X+ set title ""
  1615. X+ pause -1 "Hit return"
  1616. X+ 
  1617. X+ set xrange [-5:5]
  1618. X+ set yrange [-5:5]
  1619. X+ plot tan(t),t,t,tan(t)
  1620. X+ pause -1 "Hit return"
  1621. X+ 
  1622. X+ set trange [-3:3]
  1623. X+ plot t,log(t),-t,log(t),sin(t),t**2
  1624. X+ pause -1 "Hit return"
  1625. X+ 
  1626. X+ set autoscale x
  1627. X+ set yrange [-1.5:1.5]
  1628. X+ set trange [0:10*pi]
  1629. X+ plot sin(t)/t,cos(t)/t
  1630. X+ pause -1 "Hit return"
  1631. X+ 
  1632. X+ # undo what we've done above
  1633. X+ set noparametric
  1634. X+ set samples 160
  1635. X+ set autoscale xy
  1636. X+ set title ""
  1637. X+ set offset 0,0,0,0
  1638. X+ set key
  1639. Xdiff -cr ./demo/using.dat ../gnuplot2.02/demo/using.dat
  1640. X*** ./demo/using.dat    Tue Nov 27 09:19:54 1990
  1641. X--- ../gnuplot2.02/demo/using.dat    Mon Nov 26 02:15:31 1990
  1642. X***************
  1643. X*** 0
  1644. X
  1645. X--- 1,168 -----
  1646. X+ 891101 00   1.00  14   8.6  94.0
  1647. X+ 891101 01   1.04  10  17.5  94.4
  1648. X+ 891101 02   1.08   9   9.7  97.1
  1649. X+ 891101 03   1.13   9  10.1  94.3
  1650. X+ 891101 04   1.17   9   5.7  98.3
  1651. X+ 891101 05   1.21   8   8.1  99.7
  1652. X+ 891101 06   1.25   7   3.2  99.6
  1653. X+ 891101 07   1.29   6   2.5  99.8
  1654. X+ 891101 08   1.33  20   2.3  99.4
  1655. X+ 891101 09   1.38  30   3.5  96.1
  1656. X+ 891101 10   1.42  37   7.7  96.4
  1657. X+ 891101 11   1.46  36   9.8  97.4
  1658. X+ 891101 12   1.50  30   8.8  97.4
  1659. X+ 891101 13   1.54  32   9.1  96.5
  1660. X+ 891101 14   1.58  37   6.3  97.0
  1661. X+ 891101 15   1.63  35   6.1  97.3
  1662. X+ 891101 16   1.67  41   8.6  97.2
  1663. X+ 891101 17   1.71  28   7.6  97.3
  1664. X+ 891101 18   1.75  16   4.3  97.6
  1665. X+ 891101 19   1.79  21   4.2  97.5
  1666. X+ 891101 20   1.83  20   5.6  96.9
  1667. X+ 891101 21   1.88  24   6.6  96.2
  1668. X+ 891101 22   1.92  19   5.8  97.1
  1669. X+ 891101 23   1.96  16   7.4  97.1
  1670. X+ 891102 00   2.00  13   7.4  96.4
  1671. X+ 891102 01   2.04   8   6.6  95.6
  1672. X+ 891102 02   2.08   6   7.4  94.1
  1673. X+ 891102 03   2.13   6   6.4  95.9
  1674. X+ 891102 04   2.17   7   6.4  95.5
  1675. X+ 891102 05   2.21   6   6.7  95.5
  1676. X+ 891102 06   2.25   6   6.3  94.6
  1677. X+ 891102 07   2.29   7   6.5  93.1
  1678. X+ 891102 08   2.33  15   6.5  92.8
  1679. X+ 891102 09   2.38  22   7.2  93.2
  1680. X+ 891102 10   2.42  31   9.1  93.9
  1681. X+ 891102 11   2.46  37  11.0  95.6
  1682. X+ 891102 12   2.50  40   9.8  98.7
  1683. X+ 891102 13   2.54  45   9.5  97.3
  1684. X+ 891102 14   2.58  46  11.4  98.5
  1685. X+ 891102 15   2.63  46  11.9  99.1
  1686. X+ 891102 16   2.67  43  13.0  98.8
  1687. X+ 891102 17   2.71  28  14.5  99.1
  1688. X+ 891102 18   2.75  25  13.4  99.1
  1689. X+ 891102 19   2.79  24   9.9  99.7
  1690. X+ 891102 20   2.83  25   8.1  99.5
  1691. X+ 891102 21   2.88  24  10.3  99.4
  1692. X+ 891102 22   2.92  24  12.0  98.7
  1693. X+ 891102 23   2.96  23  18.2  98.7
  1694. X+ 891103 00   3.00  20  16.8  99.0
  1695. X+ 891103 01   3.04  16  14.8  99.2
  1696. X+ 891103 02   3.08  17  15.5  98.0
  1697. X+ 891103 03   3.13  17  14.4  99.4
  1698. X+ 891103 04   3.17  16  14.4  99.4
  1699. X+ 891103 05   3.21  14  11.3  99.4
  1700. X+ 891103 06   3.25  13   8.0  99.7
  1701. X+ 891103 07   3.29  13   6.1  99.9
  1702. X+ 891103 08   3.33  18   6.4  99.8
  1703. X+ 891103 09   3.38  31   6.5  98.9
  1704. X+ 891103 10   3.42  39   7.5  99.0
  1705. X+ 891103 11   3.46  37   9.1  98.8
  1706. X+ 891103 12   3.50  33   9.0  99.2
  1707. X+ 891103 13   3.54  40  10.4  98.7
  1708. X+ 891103 14   3.58  45  12.9  98.3
  1709. X+ 891103 15   3.63  45  13.8  98.5
  1710. X+ 891103 16   3.67  37  16.1  98.9
  1711. X+ 891103 17   3.71  29  16.0  99.3  57
  1712. X+ 891103 18   3.75  21  17.4  97.9  55
  1713. X+ 891103 19   3.79  14  14.6  97.7
  1714. X+ 891103 20   3.83  11  14.3  97.8  57
  1715. X+ 891103 21   3.88  15  14.7  96.2  59
  1716. X+ 891103 22   3.92  10  12.8  95.1  57
  1717. X+ 891103 23   3.96   8  10.2  97.6
  1718. X+ 891104 00   4.00   6   7.3  98.6
  1719. X+ 891104 01   4.04   4   4.7  99.8
  1720. X+ 891104 02   4.08   3   3.4  98.0
  1721. X+ 891104 03   4.13   4   2.9  99.6
  1722. X+ 891104 04   4.17   4   2.1  99.8
  1723. X+ 891104 05   4.21   4  11.7  99.9
  1724. X+ 891104 06   4.25   4   4.5  99.9
  1725. X+ 891104 07   4.29   4   1.6  88.4
  1726. X+ 891104 08   4.33   4   1.3  65.2
  1727. X+ 891104 09   4.38   7   1.4  71.4
  1728. X+ 891104 10   4.42   9   1.3  70.7
  1729. X+ 891104 11   4.46  14   8.1  99.5
  1730. X+ 891104 12   4.50  12   4.2  75.3
  1731. X+ 891104 13   4.54  18  10.9  95.3
  1732. X+ 891104 14   4.58  16   7.1  87.6
  1733. X+ 891104 15   4.63  18   3.3  98.9
  1734. X+ 891104 16   4.67  15   3.4  99.6
  1735. X+ 891104 17   4.71   8   2.4  99.9
  1736. X+ 891104 18   4.75   8   2.2  99.8
  1737. X+ 891104 19   4.79  11   2.2  99.7
  1738. X+ 891104 20   4.83  14   2.3  99.7
  1739. X+ 891104 21   4.88  13   2.5  99.7
  1740. X+ 891104 22   4.92  10   3.1  99.8
  1741. X+ 891104 23   4.96  12   4.5  99.7
  1742. X+ 891105 00   5.00   9   4.8  99.7
  1743. X+ 891105 01   5.04   8   4.9  99.8
  1744. X+ 891105 02   5.08   5   5.7  97.5
  1745. X+ 891105 03   5.13   5   5.2  97.6
  1746. X+ 891105 04   5.17   4   3.3  85.9
  1747. X+ 891105 05   5.21   5   1.2  71.4
  1748. X+ 891105 06   5.25   5   1.1  61.8
  1749. X+ 891105 07   5.29   5   1.0  71.8
  1750. X+ 891105 08   5.33   5   1.0  55.7
  1751. X+ 891105 09   5.38   6   1.0  62.2
  1752. X+ 891105 10   5.42   7   1.1  61.9
  1753. X+ 891105 11   5.46   9   1.4  65.6
  1754. X+ 891105 12   5.50  14   2.8  99.6
  1755. X+ 891105 13   5.54  16   2.1  94.0
  1756. X+ 891105 14   5.58  16   2.2  85.1
  1757. X+ 891105 15   5.63  17   2.5  99.7
  1758. X+ 891105 16   5.67  19   2.2  90.8
  1759. X+ 891105 17   5.71  16   1.5  61.3
  1760. X+ 891105 18   5.75  12   1.6  71.8
  1761. X+ 891105 19   5.79  16   2.8  98.3
  1762. X+ 891105 20   5.83  17   3.3  88.8
  1763. X+ 891105 21   5.88  18   1.3  56.5
  1764. X+ 891105 22   5.92  20   0.9  38.8
  1765. X+ 891105 23   5.96  12   1.1  50.8
  1766. X+ 891106 00   6.00  10   2.2  68.4
  1767. X+ 891106 01   6.04   8   1.2  54.4
  1768. X+ 891106 02   6.08   8   1.6  58.4
  1769. X+ 891106 03   6.13   7   1.1  52.2
  1770. X+ 891106 04   6.17   6   1.1  56.4
  1771. X+ 891106 05   6.21   6   1.2  55.7
  1772. X+ 891106 06   6.25   6   1.0  46.2
  1773. X+ 891106 07   6.29   7   0.5   7.2
  1774. X+ 891106 08   6.33  17   0.7  13.8
  1775. X+ 891106 09   6.38  31   1.1  41.5
  1776. X+ 891106 10   6.42  37   1.5  52.7
  1777. X+ 891106 11   6.46  36   3.1  83.7
  1778. X+ 891106 12   6.50  29   2.0  70.0
  1779. X+ 891106 13   6.54  28   1.6  71.4
  1780. X+ 891106 14   6.58  38   3.1  99.1
  1781. X+ 891106 15   6.63  39   5.6  98.2
  1782. X+ 891106 16   6.67  43   5.7  98.7  59
  1783. X+ 891106 17   6.71  27   5.7  99.4
  1784. X+ 891106 18   6.75  15   4.3  99.8
  1785. X+ 891106 19   6.79  17   4.1  99.7
  1786. X+ 891106 20   6.83  20   2.9  99.3
  1787. X+ 891106 21   6.88  16   3.1  96.3
  1788. X+ 891106 22   6.92  16   2.8  86.1
  1789. X+ 891106 23   6.96  16   3.3  96.5
  1790. X+ 891107 00   7.00  12   3.2  98.2
  1791. X+ 891107 01   7.04  12   1.6  77.7
  1792. X+ 891107 02   7.08  10   3.0  98.7
  1793. X+ 891107 03   7.13   8   1.7  71.1
  1794. X+ 891107 04   7.17   8   2.8  81.4
  1795. X+ 891107 05   7.21   8   5.4  92.4
  1796. X+ 891107 06   7.25   9   5.3  87.7
  1797. X+ 891107 07   7.29  11   5.6  94.0
  1798. X+ 891107 08   7.33  15   2.0  74.0
  1799. X+ 891107 09   7.38  25   2.7  84.3
  1800. X+ 891107 10   7.42  32   3.0  92.9
  1801. X+ 891107 11   7.46  41   5.5  97.4
  1802. X+ 891107 12   7.50  39   6.5  97.5
  1803. X+ 891107 13   7.54  31   4.4  95.9
  1804. X+ 891107 14   7.58  35   7.3  98.6
  1805. X+ 891107 15   7.63  37   8.3  96.3
  1806. X+ 891107 16   7.67  34   9.2  97.6
  1807. X+ 891107 17   7.71  20   7.5  99.3
  1808. X+ 891107 18   7.75  14   7.1  99.5
  1809. X+ 891107 19   7.79  15   7.1  99.7
  1810. X+ 891107 20   7.83  16   4.9  99.7
  1811. X+ 891107 21   7.88  18   4.3  99.7
  1812. X+ 891107 22   7.92  15   3.1  99.7
  1813. X+ 891107 23   7.96  11   3.3  99.6
  1814. END_OF_patch2e
  1815. if test 50691 -ne `wc -c <patch2e`; then
  1816.     echo shar: \"patch2e\" unpacked with wrong size!
  1817. fi
  1818. # end of overwriting check
  1819. fi
  1820. echo shar: End of shell archive.
  1821. exit 0
  1822.  
  1823. exit 0 # Just in case...
  1824. -- 
  1825. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1826. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1827. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1828. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1829.